/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package classes;

import database.DbConnection;
import java.sql.ResultSet;

/**
 *
 * @author mrossetti
 */
public class Componente {
    
    private int _IDComponente;
    private String _Codice_componente;
    private String _Nome_componente;
    private String _Note;
    private database.DbConnection Db;
    
    public Componente(){
        _IDComponente = -1;
        _Codice_componente = "";
        _Nome_componente = "";
        _Note = "";
    }
    
    public void setIDComponente(int IDComponente){
        _IDComponente = IDComponente;
    }
    
    public int getIDComponente(){
        return _IDComponente;
    }
    
    public void setCodice_componente(String Codice_componente){
        _Codice_componente = Codice_componente;
    }
    
    public String getCodice_componente(){
        return _Codice_componente;
    }
    
    public void setNomeComponente(String Nome_componente){
        _Nome_componente = Nome_componente;
    }
    
    public String getNomeComponente(){
        return _Nome_componente;
    }
    
    public void setNote(String Note){
        _Note = Note;
    }
    
    public String getNote(){
        return _Note;
    }
    
    public void load(){
        Db = new DbConnection();
        if(getIDComponente() >= 0){
            ResultSet rs = Db.getResultSet("SELECT * FROM componenti WHERE IDCOMPONENTE = " + getIDComponente());
            try{
                if(rs.next()){
                    setCodice_componente(rs.getString("codice_componente"));
                    setNomeComponente(rs.getString("nome_componente"));
                    setNote(rs.getString("Note"));
                }
                rs.close();
                Db.CloseConnection();
            }catch(Exception e){
                e.printStackTrace();
                Db.CloseConnection();
            }
        }
    }
    
    public void load(String Codice){
        Db = new DbConnection();
        ResultSet rs = Db.getResultSet("SELECT * FROM componenti WHERE UPPER(codice_componente) = '" + Codice.toUpperCase().replaceAll("'", "''") + "'");
        try{
            if(rs.next()){
                setIDComponente(rs.getInt("IDCOMPONENTE"));
                setCodice_componente(rs.getString("codice_componente"));
                setNomeComponente(rs.getString("nome_componente"));
                setNote(rs.getString("Note"));
            }else{
                setIDComponente(-1);
            }
            rs.close();
            Db.CloseConnection();
        }catch(Exception e){
            e.printStackTrace();
            Db.CloseConnection();
        }
    }
    
    public boolean save(){
        boolean res = false;
        Db = new DbConnection();
        String SQL = "";
        if(getIDComponente() < 0){
            SQL = "INSERT INTO componenti(codice_componente, nome_componente, note)";
            SQL = SQL + "VALUES('" + getCodice_componente().replaceAll("'", "''") + "', '" + getNomeComponente().replaceAll("'", "''") + "', '" + getNote().replaceAll("'", "''") +"')";
        }else{
            SQL = SQL + "UPDATE componenti SET ";
            SQL = SQL + "codice_componente = '" + getCodice_componente().replaceAll("'", "''") + "', ";
            SQL = SQL + "nome_componente = '" + getNomeComponente().replaceAll("'", "''") + "', ";
            SQL = SQL + "Note = '" + getNote().replaceAll("'", "''") + "' ";
            SQL = SQL + "WHERE IDCOMPONENTE = " + getIDComponente();
        }
        if(Db.executeQuery(SQL))res = true;
        Db.CloseConnection();
        return res;
    }
    
    public boolean delete(){
        boolean res = false;
        Db = new DbConnection();
        String SQL = "DELETE FROM componenti WHERE IDCOMPONENTE = " + getIDComponente();
        if(Db.executeQuery(SQL))res = true;
        Db.CloseConnection();
        return res;
    }
}
